From b79d4a3a22441efe61d0cfc4467704e45f205d10 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 May 2023 14:46:30 -0400 Subject: [PATCH] gsk: Fix rendering big textures with offsets When slicing the texture, the GL renderer was forgetting to apply the viewport origin. This shows up when rendering things with negative scales, leading to negative origins. --- gsk/gl/gskglrenderer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c index 306b042c98..007dae1f87 100644 --- a/gsk/gl/gskglrenderer.c +++ b/gsk/gl/gskglrenderer.c @@ -356,7 +356,8 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer, for (x = 0; x < width; x += max_size) { texture = gsk_gl_renderer_render_texture (renderer, root, - &GRAPHENE_RECT_INIT (x, y, + &GRAPHENE_RECT_INIT (viewport->origin.x + x, + viewport->origin.y + y, MIN (max_size, viewport->size.width - x), MIN (max_size, viewport->size.height - y))); gdk_texture_download (texture, -- 2.30.2